skywalking指南 | 您所在的位置:网站首页 › skywalking java-agent tags › skywalking指南 |
skywalking指南—agent日志采集和插件
文章目录
skywalking指南—agent日志采集和插件一、agent及引入日志采集1.1、agent的下载及目录介绍1.2、项目引入java agent,添加日志采集
二、关于agent插件三、插件开发及优秀文章推荐四、问题汇总
前言: skywalking其他指南请点击以下链接跳转 skywalking指南—oap及UI的搭建 skywalking指南—skywalking链路追踪 注: 本文中所有代码,皆可在我的GitHub链接中获取 一、agent及引入日志采集 1.1、agent的下载及目录介绍从官网下载agent(本文采用java agent),版本为8.8.0。解压后目录如下。 下载好后,可以修改config中agent.config,可以通过collector.backend_service指定oap-server 地址; config中所有的配置,都可以通过jvm参数的方式来配置。如collector.backend_service可以设置为 -Dskywalking.collector.backend_service=127.0.0.1:11800,来配置oap-server地址。具体详见官方文档 1.2、项目引入java agent,添加日志采集 项目承自第二篇《skywalking指南—创建dubbo项目及追踪》中的项目,项目已实现链路追踪功能。本文将实现日志采集功能。依赖引入,由于项目的日志框架为logback,需要引入logback plugin(其他日志框架的maven plugin详见官网地址) org.apache.skywalking apm-toolkit-trace 8.8.0 org.apache.skywalking apm-toolkit-logback-1.x 8.8.0 编写logback日志配置文件。在resources下新建一个logback-spring.xml文件,根据官网文档编写配置文件,可以写作以下两种。 两者的区别就是layout中是采用TraceIdPatternLogbackLayout还是TraceIdMDCPatternLogbackLayout,如果采用TraceIdMDCPatternLogbackLayout,需要将[%tid]改为[%X{tid}] %d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{36} -%msg%n %d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n 在项目的启动配置中,添加jvm参数。具体jvm参数详见《skywalking指南—创建dubbo项目及追踪》,如需添加其他jvm,可回顾1.1、agent的下载及目录介绍启动项目,通过apifox/postman访问api接口,可以看到控制台打印出了如下日志,TID:后面即本次请求的traceId![]() ![]() ![]() ![]() 根据官方文档介绍,agent插件支持热插拔,常用的插件放在了plugins中。目前8.8.0中插件支持的中间件、框架的版本见官方链接。当在agent使用过程中,出现链路断裂问题,可先查看版本是否有问题,如果有问题,就需要找对应版本的插件或自行开发插件使用。现在我们来说基于8.8.0版本(当前最新发行版本),如何去找高版本插件,以apache-dubbo为例。 查看8.8.0中插件所支持的apache-dubbo版本,以及项目中所使用的版本(我的是3.0.4)。可见8.8.0支持的最高版本为2.7.0,而我使用的版本过高。 查看latest版本的agent插件所支持的apache-dubbo版本,为2.7.x -> 3.x,满足我们的需求。 打开java-agent的github页面,下载main分支源码,找到源码中apm-sniffer — apm-sdk-plugin 下的dubbo-3.x-conflict-patch和dubbo-3.x-plugin的包,修改parent的version为8.8.0,然后将插件单独deploy。 如果大家有什么问题,可以在评论区提出,大家一起来解决。评论区中出现的问题,会一并记录到问题记录中 按文中加好配置后,没有采集到sql日志。 答:请确认一下,是不是你的项目中有添加mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl TraceContext这个类找不到,无法在代码中获取traceId 答:需要引入apm-toolkit-trace依赖,如果已引入,尽量将version与oap-server的version一致 |
CopyRight 2018-2019 实验室设备网 版权所有 |